package com.wisdytech.linkdcs.partLife.service;

import java.io.IOException;
import java.util.List;

import com.github.pagehelper.PageInfo;
import com.wisdytech.common.bean.Filter;
import com.wisdytech.linkdcs.partLife.model.KeyPart;
import com.wisdytech.linkdcs.partLife.vo.KeyPartVO;

/**
 * <p>
 *  关键备件服务类
 * </p>
 *
 * @author chenbin
 * @since 2018-06-05
 */
public interface IKeyPartService{

    /**
     * 分页条件查询关键备件列表信息
     * @param partCode 备件编码
     * @param partName 备件名称
     * @param oSerialNum 备件序列号
     * @param status 状态
     * @param filter 分页参数
     * @return 关键备件管理列表信息
     */
	PageInfo<KeyPart> listKeyPartByFilter(String partCode, String partName, String oSerialNum, String status,
			Filter filter);
    /**
     * 保存关键备件信息
     * @param keyPart 关键备件对象
     * @param loginName 登录人
     * @return 保存结果集
     */
	void addKeyPart(KeyPart keyPart, String loginName);
    /**
     * <p>Description:查询关键备件信息</p> 
     * @return 关键备件信息
     * @throws IOException 
     */
	KeyPartVO getKeyPartById(String pkId);
    /**
     * 修改关键备件信息
     * @param keyPart 关键备件对象
     * @param loginName 登录人
     * @return 保存结果集
     */
	void updateKeyPart(KeyPart keyPart, String loginName);
    /**
     * 通过id批量删除关键备件信息
     * @param id 主键id
     * @return 删除结果集
     */
	void delKeyPartById(String pkId);

    /**
     * <p>Description:查询关键备件信息列表</p> 
     * @return 关键备件信息
     */
	List<KeyPart> getAllKeyPartByPartCode(String search, String partCode);
    /**
     * <p>Description:查询关键备件信息列表</p> 
     * @return 关键备件信息
     */
	List<KeyPart> searchKeyPartByoSerial(String oSerialNum, String partName,Filter filter);
    /**
     * <p>Description:查询关键备件信息列表</p> 
     * @param search 模糊查询
     * @param partId 备件id
     * @return 关键备件信息
     */
	List<KeyPart> getAllKeyPartByPartId(String search, String partId);

	KeyPart getKeyPartByOseri(String getoSerialNum);

	KeyPart getKeyPartByPartId(String pkId);

}
